package com.qianxun.spider.bean;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author: huwei
 * @date: 2020/6/28 9:36
 * @version: 1.0.0
 */
@Data
@Accessors(chain = true)
public class SpiderBeanField {
    /**
     * 字段名
     */
    private String fieldName;
    /**
     * 字段是对象
     */
    private SpiderBean spiderBean;
    /**
     * 爬取数据是否为一个集合类型，如果为true，则将返回当前selector或spiderBean所描述的一组数据，类型为list ，反之则为一个字符串数据
     */
    private boolean collection = false;
    /**
     * 是否将值设置为当前请求地址，如果是，则不再解析selector字段
     */
    private boolean setCurrentUrl;
    /**
     * 选择器
     */
    private String selector;
    /**
     * 从选择器选中元素上获取数据的方式，如：text ，value ，href ,id ，class 等
     */
    private String valueKey;
    /**
     * 该字段是否为url地址，并是否添加到爬取任务列表中
     */
    private boolean addTaskUrl = false;
    /**
     * post请求
     */
    private boolean postRequest = false;

    /**
     * 是否是一个url地址；当该url值是uri时，为其补充当前的url域名
     */
    private boolean url = false;

    @Override
    public String toString() {
        return "SpiderBeanField{" +
                "fieldName='" + fieldName + '\'' +
                ", spiderBean=" + spiderBean +
                ", collection=" + collection +
                ", isSetCurrentUrl=" + setCurrentUrl +
                ", selector='" + selector + '\'' +
                ", valueKey='" + valueKey + '\'' +
                ", addTaskUrl=" + addTaskUrl +
                ", postRequest=" + postRequest +
                ", url=" + url +
                '}';
    }
}
